Market Location Analysis
Market Location Analysis
Abstract
Using Geo-segmentation, the researcher evaluates the market potential for each store location of a retail chain in Bergen area, Norway, by implementing delaunay triangulation algorithm. In term of practicality, a comparison between two R packages for the algorithm has been done. Furthermore, the researcher documented the steps for using google places API. Limitations of the research have been discussed.
1.Introduction
A market area is a part of the earth’s surface where the current or potential customers of a supply location come from. This supply location can provide goods such as; retailers or services such as; hospitals and telecommunication towers (Berman and Evans, 2013).
The market area of a store/location can be regarded as the spatial equivalent to its sum of all customers. The total number of a supply’s customers can be determined by summing customer flows from each geographic region in its market area (Huff and McCallum, 2008).
In case of retailers. A market area is influenced by many factors such as the transportation costs (e.g. distance, travel time) between customers and locations, and the characteristics of the competitors (Wieland, 2017).
Market area analysis can be used in retail location analysis to find new locations or to evaluate the existing ones (Berman and Evans, 2013). In this project, the researcher did descriptive analysis in order to evaluate the market potentail for stores’ locations of “Bunnpris”, a retail chain in Norway. The focus is in Bergen area.
2.Research Question
By focusing on the retail sector, the research chooses a brand and tried to see if existing supply locations over or under exploit the market potential in each shop’s coverage area. The market potential is assumed to be the total number of population on that area. More precisely, the research question can be formulated as:
Is there a relation between retail locations and population in it’s area?
Thus, the answer for this question is descriptive rather than normative.
3.Motivation and contribution
The aim of this project is mostly practical to strength the researcher analytical skills regarding spatial data analysis. In addition, the research documents the best practices regarding some spatial data operations which are relevant to this project. For example, using google places API service and a comparison between “delider” and “dismo” R packages regarding implementing Delaunay Triangulation.
4.Data Sources and Cleaning
4.1.Shapefiles
#required Libraries
library(sf)
library(sp)
library(sf)
library(raster)
library(dplyr)
library(spData)
library(knitr)
library(googleway)
library(tmap)
library(kableExtra)
library(ggplot2)
library(DT)
library(data.table)Dataset1: Grid of Norway map consisting of cells where each cell is 1 x 1 km^2 downloaded from statistics bureau of Norway. The dataset Can be downloaded from this link.
ssb1km <- st_read(dsn = "~/Downloads/nhh/spatial data analysis/project/ssb001k" , layer = "ssb1km")Reading layer `ssb1km' from data source `/home/sherif/Downloads/nhh/spatial data analysis/project/ssb001k' using driver `ESRI Shapefile'
Simple feature collection with 533918 features and 6 fields
geometry type: POLYGON
dimension: XY
bbox: xmin: -106000 ymin: 6419000 xmax: 1131000 ymax: 7971000
epsg (SRID): 32633
proj4string: +proj=utm +zone=33 +datum=WGS84 +units=m +no_defs
| SSBID | RSIZE | ROW | COL | XCOOR | YCOOR | geometry |
|---|---|---|---|---|---|---|
| 20230006419000 | 1000 | 130 | 1 | 23500 | 6419500 | list(c(23000, 23000, 24000, 24000, 23000, 6419000, 6420000, 6420000, 6419000, 6419000)) |
| 20240006419000 | 1000 | 131 | 1 | 24500 | 6419500 | list(c(24000, 24000, 25000, 25000, 24000, 6419000, 6420000, 6420000, 6419000, 6419000)) |
| 20250006419000 | 1000 | 132 | 1 | 25500 | 6419500 | list(c(25000, 25000, 26000, 26000, 25000, 6419000, 6420000, 6420000, 6419000, 6419000)) |
| 20260006419000 | 1000 | 133 | 1 | 26500 | 6419500 | list(c(26000, 26000, 27000, 27000, 26000, 6419000, 6420000, 6420000, 6419000, 6419000)) |
| 20270006419000 | 1000 | 134 | 1 | 27500 | 6419500 | list(c(27000, 27000, 28000, 28000, 27000, 6419000, 6420000, 6420000, 6419000, 6419000)) |
The variable SSBID is the ID for each cell in the grid.
Dataset 2: Since the the previous file does not have names of counties or administrative boundaries of norway, and becuase the focus of this project is on Bergen area, the administrative boundaries geo-data of Norway has been downloaded from www.gadm.org.
adm <- read_sf( dsn = "~/Downloads/nhh/spatial data analysis/project/NOR_adm" , layer = "NOR_adm2")Checking Administrative boundaries data file.
DT::datatable(adm)